module hip.concurrency.atomic; import hip.config.opts; static if(HipConcurrency): /** * Test for wrapping atomic operations in a structure */ struct Atomic(T) { import core.atomic; private T value; auto opAssign(T)(T value) { atomicStore(this.value, value); return value; } private @property T v(){return atomicLoad(value);} alias v this; }